﻿using System;

namespace USClientKernel.MVC
{
    public abstract class BaseCast<I> where I : BaseCast<I>
    {
        public virtual T Cast<T>() where T : I
        {
            try
            {
                return this as T;
            }
            catch
            {
                return default(T);
            }
        }
    }
}
